#ifndef _STRINGBUILDER_H_
#define _STRINGBUILDER_H_

#include "String.h"
#include "List.h"

#define StringBuilder_DEF \
unsigned long int length; \
List *list;

#define StringBuilder_SHARED \
FN(unsigned long int, length); \
FN(String *, build); \
FN(int, append, String *str); \
FN(int, prepend, String *str); \
FN(int, appendPChar, char *ptr); \
FN(int, prependPChar, char *ptr);

#define StringBuilder_EXCLUSIVE

BUILD_OBJ(StringBuilder)

#endif
